#include<bits/stdc++.h>
#define pii pair<long long,long long>
#define mp make_pair
#define pb push_back
using namespace std;
long long T,n,a[200005];
long long u[2005][2005];
long long u1[200005][11];
int main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>T;
    while(T--){
        cin>>n;
        if(n<=2000){
            for(int i=1;i<=n;i++){
                cin>>a[i];
                for(int j=0;j<=i-1;j++){
                    u[i][j]=-1ll<<60ll;
                }
            }
            u[1][0]=0;
            long long ans=0;
            for(int i=2;i<=n;i++){
                for(int j=0;j<i-1;j++){
                    u[i][j]=max(u[i][j],u[i-1][j]+a[i]*(a[i]==a[i-1]));
                    u[i][i-1]=max(u[i][i-1],u[i-1][j]+a[i]*(a[i]==a[j]));
                }
                if(i==n){
                    for(int j=0;j<i;j++){
                        ans=max(u[i][j],ans);
                    }
                }
            }
            cout<<ans<<"\n";
        }
        else{
            #define u u1
            bool can=1;
            for(int i=1;i<=n;i++){
                cin>>a[i];
                if(a[i]>10)can=0;
                for(int j=0;j<=10;j++){
                    u[i][j]=-1ll<<60;
                }
            }
            if(!can)continue;
            u[1][0]=0;
            long long ans=0;
            for(int i=2;i<=n;i++){
                for(int j=0;j<=10;j++){
                    u[i][j]=max(u[i][j],u[i-1][j]+a[i]*(a[i]==a[i-1]));
                    u[i][a[i-1]]=max(u[i][a[i-1]],u[i-1][j]+a[i]*(a[i]==j));
                }
                if(i==n){
                    for(int j=0;j<=10;j++){
                        ans=max(u[i][j],ans);
                    }
                }
            }
            cout<<ans<<"\n";
        #undef u u1
        }
    }
    return 0;
}
